home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Compute! Gazette 1993 September
/
1993-09.d64
/
silicon cobbler
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-09-20
|
4KB
|
116 lines
10 rem: copyright 1993 compute publications intl ltd - all rights reserved
20 :
50 print"[147]"chr$(142)chr$(8):poke53280,2:poke53281,7:dimc$(15):poke788,52
60 forr=0to15:readju$:next:forr=1to125:readdt:ck=ck+dt:next
70 ifck<>15188thenprint"[144] error in numerical data":stop
80 ml$="":restore:forr=0to15:readc$(r):next
90 bl$="":forr=1to39:bl$=bl$+" ":next
100 print"[147][144]"tab(12)"silicon cobbler":printtab(11)"program boot maker"
110 printtab(12)"by: r. markland"
120 printtab(16)"(c) 1993":printtab(5)"compute publications intl ltd"
130 forr=1to24:readdt:ml$=ml$+chr$(dt):next
140 gosub830:print" select border color during load":printtab(16)"(0-15)"
150 tb=18:nt=0:le=2:gosub850:bc=val(tp$):ifbc>15then140
160 ml$=ml$+chr$(bc):gosub820
170 forr=1to4:readdt:ml$=ml$+chr$(dt):next
180 gosub830:print" select screen color during load":printtab(16)"(0-15)"
190 tb=18:nt=0:le=2:gosub850:sc=val(tp$):ifsc>15then180
200 ml$=ml$+chr$(sc):gosub820
210 forr=1to4:readdt:ml$=ml$+chr$(dt):next
220 gosub830:print" select character color during load":printtab(16)"(0-15)"
230 tb=18:nt=0:le=2:gosub850:cl=val(tp$):ifcl>15then220
240 ml$=ml$+chr$(cl):gosub820
250 forr=1to33:readdt:ml$=ml$+chr$(dt):next
260 gosub830:printtab(9)"enter name of program"
270 printtab(11)"to be loaded/run:":printtab(11)"(1-16 characters)"
280 tb=12:nt=1:le=16:gosub850:na$=tp$:ml$=ml$+chr$(len(na$)):gosub820
290 forr=1to31:readdt:ml$=ml$+chr$(dt):next
300 gosub830:printtab(8)"enter necessary command"
310 printtab(10)"to activate program":printtab(11)"you wish to boot:"
320 printtab(8)"(e.g. run or sys49152)"
330 tb=12:nt=1:le=8:gosub850:cm$=tp$:ml$=ml$+chr$(len(cm$)):gosub820
340 forr=1to10:readdt:ml$=ml$+chr$(dt):next
350 ml$=ml$+chr$(len(cm$)+1):forr=1to11:readdt:ml$=ml$+chr$(dt):next
360 gosub830:print" select character color following load"
370 printtab(16)"(0-15)"
380 tb=18:nt=0:le=2:gosub850:cp=val(tp$):ifcp>15then360
390 gosub820:ml$=ml$+chr$(cp):forr=1to8:readdt:ml$=ml$+chr$(dt):next
400 ml$=ml$+"loading, please wait...."+chr$(0)
410 forr=1tolen(na$):ml$=ml$+mid$(na$,r,1):next:iflen(na$)=16then430
420 forr=len(na$)+1to16:ml$=ml$+chr$(234):next
430 forr=1tolen(cm$):ml$=ml$+mid$(cm$,r,1):next:ml$=ml$+chr$(13)
440 gosub830:printtab(11)"enter a file name"
450 printtab(11)"for this autoboot:":printtab(11)"(1-16 characters)"
460 tb=12:nt=1:le=16:gosub850:ln$=tp$:gosub820
470 gosub830:printtab(2)"border color is:"tab(38-len(c$(bc)))c$(bc)
480 printtab(2)"screen color is:"tab(38-len(c$(sc)))c$(sc)
490 printtab(2)"load chr color is:"tab(38-len(c$(cl)))c$(cl)
500 printtab(2)"program to boot is:"tab(38-len(na$))na$
510 printtab(2)"cmd to activate is:"tab(38-len(cm$))cm$
520 printtab(2)"prog chr color is:"tab(38-len(c$(cp)))c$(cp)
530 printtab(2)"autoboot name is:"tab(38-len(ln$))ln$
540 printtab(7)"please review your choices":printtab(15)"then press"
550 print" (c) to continue -/- (s) to start over"
560 getd$:ifd$=""then560
570 ifd$="s"then80
580 ifd$<>"c"then560
590 gosub830:printtab(8)"insert destination disk":printtab(15)"then press"
600 printtab(7)"any key to create autoboot":poke198,0
610 getd$:ifd$=""then610
620 gosub830:printtab(8)"working, please wait...."
630 open15,8,15,"i0:":open8,8,8,"0:"+ln$+",p,r":close8:fl=0:gosub960
640 ifflthen470
650 open15,8,15:open8,8,8,"0:"+ln$+",p,w":close8:fl=0:gosub960
660 ifflthen470
670 ife1<>63then740
680 gosub830:ms$="file "+chr$(34)+ln$+chr$(34)+" already exists"
690 printtab((40-(len(ms$)))/2)ms$
700 printtab(13)"overwrite it?":printtab(16)"y -/- n"
710 getd$:ifd$=""then710
720 ifd$="n"then440
730 ifd$<>"y"then710
740 open15,8,15,"i0:":print#15,"s0:"+ln$:close15
750 open8,8,8,"o:"+ln$+",p,w":print#8,ml$:close8:close15
760 gosub830:print" autoboot completed, do you wish to:"
770 printtab(10)"1. create another?":printtab(10)"2. quit?"
780 getd$:ifd$=""then780
790 ifd$="1"then80
800 ifd$<>"2"then780
810 print"[147]":poke646,14:poke647,14:poke53280,14:poke53281,6:poke788,49:end
820 print:printtab(16)"entered":fort=1to1000:next
830 print"":forr=1to14:printbl$:next:print""
840 return
850 poke198,0:printtab(tb);:poke204,0:tp$=""
860 poke647,peek(646):getki$:ifki$=""then860
870 ifki$=chr$(34)then860
880 ifki$=chr$(13)andlen(tp$)>0thenprint" ";:poke204,1:return
890 ifki$=chr$(20)andlen(tp$)>0thentp$=left$(tp$,len(tp$)-1):goto950
900 ifki$=>chr$(48)andki$=<chr$(57)then930
910 ifntthenifki$=>chr$(32)andki$=<chr$(90)then930
920 goto860
930 iflen(tp$)=(le)then860
940 tp$=tp$+ki$
950 printki$;:goto860
960 input#15,e1,er$,e2,e3
970 ife1=0ore1=62ore1=63thenclose15:return
980 close15:fl=1
990 gosub830:printtab(9)"* * * disk error * * *"
1000 printtab(10)"";e1;er$;e2;e3
1010 printtab(3)"check disk & drive, then try again"
1020 printtab(7)"press any key to continue"
1030 getd$:ifd$=""then1030
1040 return
1050 data black,white,red,cyan,purple,green,blue,yellow,orange,brown,light red
1060 data dark gray,medium gray,light green,light blue,light gray
1070 data 44,3,60,3,102,254,165,244,237,245,0,0,0,0,0,0,0,0
1080 data 169,147,32,210,255,169
1090 data 141,32,208,169
1100 data 141,33,208,169
1110 data 141,134,2,32,138,255,32,231,255,160,0,24,162,12,160,8,32,240,255
1120 data 160,0,185,174,3,240,6,32,210,255,200,208,245,169
1130 data 162,199,160,3,32,189,255,169,1,168,162,8,32,186,255,173,33,208
1140 data 141,134,2,169,0,32,213,255,134,45,132,46,160
1150 data 185,215,3,153,119,2,136,16,247,169
1160 data 133,198,32,94,166,169,147,32,210,255,169
1170 data 141,134,2,162,128,108,2,3